package com.power.flowable.api;

import com.plf.common.domain.ResponseDTO;
import com.power.flowable.model.Act_dsn_form_step;
import com.power.flowable.model.pageinfo.Act_dsn_form_stepPageInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;



@FeignClient(value = "sfflow-svr", contextId = "sfflow-svr", path = "/sfflow-svr")
@RestController
public interface IAct_dsn_form_stepFeign {

    /**
     * 流程表单环节配置分页列表
     * @param act_dsn_form_stepPageInfo
     * @return
     */
    @PostMapping("/act_dsn_form_step/list")
    ResponseDTO list(@RequestBody Act_dsn_form_stepPageInfo act_dsn_form_stepPageInfo);

    /**
     * 流程表单环节配置分页列表 (关联流程名称)
     * @param act_dsn_form_stepPageInfo
     * @return
     */
    @PostMapping("/act_dsn_form_step/listAssociatedProcess")
    ResponseDTO listAssociatedProcess(@RequestBody Act_dsn_form_stepPageInfo act_dsn_form_stepPageInfo);

    /**
     * 查看流程表单环节配置
     */
    @PostMapping("/act_dsn_form_step/view/{id}")
    ResponseDTO view(@PathVariable Integer id);

    /**
     * 修改或保存流程表单环节配置
     */
    @PostMapping("/act_dsn_form_step/save")
    ResponseDTO save(@RequestBody Act_dsn_form_step  act_dsn_form_step);


    /**
     * 删除流程表单环节配置
     */
    @PostMapping("/act_dsn_form_step/delete/{id}")
    ResponseDTO delete(@PathVariable Integer id);

    /**
     * 批量删除流程表单环节配置
     */
    @PostMapping("/act_dsn_form_step/batchDel")
    ResponseDTO batchDel(@RequestParam String ids);

    /**
     * 查询并与流程模型环节关联
     * * @param modelSouce =  模型来源 ( 1  零号版本的流程模型, 2  流程设计器最新的流程模型, 3 当前formid版本的流程模型)
     */
    @PostMapping("/act_dsn_form_step/findStepRelation")
    ResponseDTO findStepRelation(@RequestParam String formid, @RequestParam Integer modelSouce);

    /**
	 * 校验表单所有的流程环境配置是否完成
	 * @param formid
	 * @return true 完成 false 未完成
     */
    @PostMapping("/act_dsn_form_step/checkAllStatus")
    ResponseDTO checkAllStatus(@RequestParam String formid);


}
